#ifndef CONFIGDIALOG_H
#define CONFIGDIALOG_H

#include <QDialog>
#include <QJsonObject>
#include <QGroupBox>
#include <QVBoxLayout>
#include <QGridLayout>

namespace Ui {
class ConfigDialog;
}

class ConfigDialog : public QDialog
{
    Q_OBJECT

public:
    explicit ConfigDialog(QWidget *parent = nullptr);
    ~ConfigDialog();

public slots:
    void loadConfigData(const QJsonObject &configData);  // 接收并处理传入的数据
    void onApplyButtonClicked();
    void processJsonData(const QJsonObject &jsonData);

private:
    void createMoveJointGroupBox(const QJsonObject &movejointConfig, QGridLayout *layout);  // 创建 movejoint 的 GroupBox
    // ConfigDialog.h
signals:
    void updateFlag3ControlSignal(const QJsonObject &jsonData);

private:
    QJsonObject movejointConfig;  // 存储 movejoint 配置
    Ui::ConfigDialog *ui;
};

#endif // CONFIGDIALOG_H
